16 research outputs found

    A Reference Architecture for Software Protection

    Get PDF
    This paper describes the ASPIRE reference architecture designed to tackle one major problem in this domain: the lack of a clear process and an open software architecture for the composition and deployment of multiple software protections on software applications

    Code renewability for native software protection

    Get PDF
    Software protection aims at safeguarding assets embedded in software by preventing and delaying reverse engineering and tampering attacks. This article presents an architecture and supporting tool flow to renew parts of native applications dynamically. Renewed and diversified code and data belonging to either the original application or to linked-in protections are delivered from a secure server to a client on demand. This results in frequent changes to the software components when they are under attack, thus making attacks harder. By supporting various forms of diversification and renewability, novel protection combinations become available and existing combinations become stronger. The prototype implementation is evaluated on several industrial use cases

    Efficient and Provable White-Box Primitives

    Get PDF
    International audienceIn recent years there have been several attempts to build white-box block ciphers whose implementations aim to be incompress-ible. This includes the weak white-box ASASA construction by Bouil-laguet, Biryukov and Khovratovich from Asiacrypt 2014, and the recent space-hard construction by Bogdanov and Isobe from CCS 2015. In this article we propose the first constructions aiming at the same goal while offering provable security guarantees. Moreover we propose concrete instantiations of our constructions, which prove to be quite efficient and competitive with prior work. Thus provable security comes with a surprisingly low overhead

    FPL: White-Box Secure Block Cipher Using Parallel Table Look-Ups

    Get PDF
    In this work, we propose a new table-based block cipher structure, dubbed FPL\mathsf{FPL}, that can be used to build white-box secure block ciphers. Our construction is a balanced Feistel cipher, where the input to each round function determines multiple indices for the underlying table via a probe function, and the sum of the values from the table becomes the output of the round function. We identify the properties of the probe function that make the resulting block cipher white-box secure in terms of weak and strong space hardness against known-space and non-adaptive chosen-space attacks. Our construction, enjoying rigorous provable security without relying on any ideal primitive, provides flexibility to the block size and the table size, and permits parallel table look-ups. We also propose a concrete instantiation of FPL\mathsf{FPL}, dubbed FPLAES\mathsf{FPL}_{\mathsf{AES}}, using (round-reduced) AES\mathsf{AES} for the underlying table and probe functions. Our implementation shows that FPLAES\mathsf{FPL}_{\mathsf{AES}} provides stronger security without significant loss of efficiency, compared to existing schemes including SPACE\mathsf{SPACE}, WhiteBlock\mathsf{WhiteBlock} and WEM\mathsf{WEM}

    Cryptanalysis of a Perturbated White-Box AES Implementation

    No full text
    Abstract. In response to various cryptanalysis results on white-box cryptography, Bringer et al. presented a novel white-box strategy. They propose to extend the round computations of a block cipher with a set of random equations and perturbations, and complicate the analysis by implementing each such round as one system that is obfuscated with annihilating linear input and output encodings. The improved version presented by Bringer et al. implements the AEw/oS, which is an AES version with key-dependent S-boxes (the S-boxes are in fact the secret key). In this paper we present an algebraic analysis to recover equivalent keys from the implementation. We show how the perturbations and sys-tem of random equations can be distinguished from the implementation, and how the linear input and output encodings can be eliminated. The result is that we have decomposed the white-box implementation into a much more simple, functionally equivalent implementation and retrieved a set of keys that are equivalent to the original key. Our cryptanalysis has a worst time complexity of 217 and a negligible space complexity

    Towards Security Notions for White-Box Cryptography

    No full text
    Abstract. While code obfuscation attempts to hide certain character-istics of a program independently of an application, white-box cryptog-raphy (WBC) specifically focuses on software implementations of cryp-tographic primitives in an application. The aim of WBC is to resist attacks from an adversary having access to some ‘executable ’ code with an embedded secret key. WBC, if possible, would have several applica-tions. However, unlike obfuscation, it lacks a theoretical foundation. We present a first step towards a theoretical model of WBC via white-box security notions. We also present some positive and negative results on WBC and obfuscation. In particular, we show that for most interesting programs (such as an encryption algorithm), there are security notions that cannot be satisfied when the adversary has white-box access, while they are satisfied when it has black-box access. On the positive side, we show that there exists an obfuscator for a symmetric encryption scheme in the context of a useful security-notion (such as IND-CPA).
    corecore